home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1998 August / PC Plus SuperCD 50a Issue 142 (CD142a) (August 1998).iso / trial / demon / TURNPIKE.1 / CLASSES.ZIP / JAVA / LANG / Character.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-04-14  |  10.6 KB  |  644 lines

  1. package java.lang;
  2.  
  3. public final class Character {
  4.    public static final int MIN_RADIX = 2;
  5.    public static final int MAX_RADIX = 36;
  6.    public static final char MIN_VALUE = '\u0000';
  7.    public static final char MAX_VALUE = '\uffff';
  8.    private static long[] isLowerCaseTable = new long[]{0L, 576460743713488896L, 0L, -36028799166447616L, 6172933889249159850L, -3122495741643543723L, 2761033308231184681L, -6329340151129091520L, 11184810L, -22522413363298304L, 2170637221884L, 0L, 0L, 0L, -17592185978880L, 1032063467880447L, -281474976710656L, -6148914690341797889L, -6148914691236560894L, 156089602710049044L, 0L, -8589934592L, 255L, 0L, -6148914691236517206L, -6148914691236517206L, -6148914693967009110L, 192153584101141162L, 71777214282006783L, 4611405638684049471L, 62770015039848703L, 61925590106570972L};
  9.    private static long[] isUpperCaseTable = new long[]{0L, 134217726L, 0L, 2139095039L, -6172933889249159851L, 3122495741643543722L, 1274187284968361686L, 6057998273580016784L, 5592405L, 0L, 0L, 0L, 0L, 0L, 17575006099264L, 93819265613824L, 281474976702462L, 6148914689804861440L, 6148914691236495361L, 78044801355024522L, -562949953421312L, 8388607L, 0L, 0L, 6148914691236517205L, 6148914691236517205L, 6148914689806259541L, 96076792050570581L, -71777217515815168L, 280378317225728L, 2234065794919104256L, 2233819500287893248L};
  10.    private static long[] isDefinedTable01C0through06FF = new long[]{-270215977642229761L, 16777215L, -65536L, -279275953455105L, 4395899027455L, -1L, 4913427206346113087L, -17179879440L, 4503588160110591L, -8194L, -536936449L, -65409L, 234134404065073567L, -562949953421312L, -4320133121L, -288511851128421633L, 8734520370987023L, 576460745995194368L, -211110526976001L, 9007199254740991999L, 288019269919145983L};
  11.    private static long[] isDefinedTable0900through0EFF = new long[]{-864691128455135250L, 562949938692095L, -3186861885341720594L, 576460544811219359L, -3211631683292264476L, 9006925953907079L, -869759877059465234L, 281204393851839L, -878767076314341394L, 562690925803919L, -4341532606274353172L, 2251250066275783L, -4327961440926441490L, 281212990012895L, -4327961440926441492L, 281214063754719L, -4323457841299070996L, 281212992110031L, 0L, 0L, -8646911284551352322L, 268435455L, 4323434403644581270L, 872365919L};
  12.    private static long[] isDefinedTable1080through11FF = new long[]{-4294967296L, 612489549322321983L, -1L, -2080374785L, -1065151889409L, 288230376151711743L};
  13.    private static long[] isDefinedTable1E00through27BF = new long[]{-1L, -1L, -4160749569L, 288230376151711743L, -3233808385L, 4611686017001275199L, -9007199254740993L, 9213520412398321631L, -140737488355329L, -3945047720460161L, 8791798087679L, 17179803648L, 144115188075855871L, -524288L, -65529L, 8796093022207L, -1L, -1L, -1L, 1125899906842623L, -3L, 576460752303423487L, 0L, 0L, 137438953471L, -4294965249L, -1L, 8796093022207L, -1L, -1L, -4290772993L, 281474976710655L, -66060289L, 281474976710655L, 0L, 0L, -1099511630882L, -18013305452384257L, 9223090561863385087L};
  14.    private static long[] isDefinedTable3000through33FF = new long[]{-9151314442816847873L, -2L, -6473908225L, Long.MAX_VALUE, -527765581332512L, -1L, 4294934527L, 0L, -3758096385L, -8070450536542896113L, 562949953421311L, 9223372036854714367L, -1L, -540431955284459521L, -1L, 9223372033633550335L};
  15.    private static long[] isDefinedTableFB00throughFFFF = new long[]{6881500229564629119L, -37L, 1125899906842623L, -524288L, -1L, -1L, -1L, -1L, -1L, -65536L, -196609L, 1152640029630136575L, -281410552201216L, -11523431615431137L, -1L, -6917529027641081857L, -2L, -6442450945L, Long.MAX_VALUE, 2305983193137609980L};
  16.    private static long[] isLetterTable0000through06FF = new long[]{0L, 576460743847706622L, 0L, -36028797027352577L, -1L, -1L, -1L, -270215977642229761L, 16777215L, -65536L, -279275953455105L, 4395899027455L, -1L, 4913427206346113087L, -17179879440L, 4503588160110591L, -8194L, -536936449L, -65409L, 234134404065073567L, -562949953421312L, -4320133121L, -288511851128421633L, 8734520370987023L, 576460745995194368L, -215504278519809L, 9007199254740991999L, 70368744144895L};
  17.    private static long[] isLetterTable0900through0EFF = new long[]{-864691128455135250L, 281749839888383L, -3186861885341720594L, 576179344712415647L, -3211631683292264476L, 8725725855103367L, -869759877059465234L, 4295048127L, -878767076314341394L, 281490827000207L, -4341532606274353172L, 1970324845379015L, -4327961440926441490L, 12891209183L, -4327961440926441492L, 13964951007L, -4323457841299070996L, 12893306319L, 0L, 0L, -8646911284551352322L, 201392127L, 4323434403644581270L, 805322591L};
  18.    private static long[] isLetterTable1080through11FF;
  19.    private static long[] isLetterTable1E00through1FFF;
  20.    private static long[] isLetterTable3000through33FF;
  21.    private static long[] isLetterTableFB00throughFFFF;
  22.    private static long[] isLDTable0000through06FF;
  23.    private static long[] isLDTable0900through0EFF;
  24.    private static long[] isLDTable1080through11FF;
  25.    private static long[] isLDTable1E00through1FFF;
  26.    private static long[] isLDTable3000through33FF;
  27.    private static long[] isLDTableFB00throughFFFF;
  28.    private static long[] toLowerCaseTable;
  29.    private static long[] toUpperCaseTable;
  30.    private char value;
  31.  
  32.    public static boolean isLowerCase(char var0) {
  33.       return ((var0 < 1536 ? isLowerCaseTable[var0 >> 6] : ((var0 & '∩╕Ç') == 7680 ? isLowerCaseTable[var0 - 6144 >> 6] : ((var0 & '\uffc0') == 64256 ? 16253055L : ((var0 & '\uffc0') == 65344 ? 134217726L : 0L)))) >> (var0 & 63) & 1L) != 0L;
  34.    }
  35.  
  36.    public static boolean isUpperCase(char var0) {
  37.       return ((var0 < 1536 ? isUpperCaseTable[var0 >> 6] : ((var0 & '∩╕Ç') == 7680 ? isUpperCaseTable[var0 - 6144 >> 6] : (var0 >= 4256 && var0 <= 4303 ? -4294967233L : ((var0 & '\uffc0') == 65280 ? 576460743713488896L : 0L)))) >> (var0 & 63) & 1L) != 0L;
  38.    }
  39.  
  40.    public static boolean isTitleCase(char var0) {
  41.       return var0 == 453 || var0 == 456 || var0 == 459 || var0 == 498;
  42.    }
  43.  
  44.    public static boolean isDigit(char var0) {
  45.       if (var0 >= '0' && var0 <= '9') {
  46.          return true;
  47.       } else {
  48.          switch (var0 >> 8) {
  49.             case 6:
  50.                return var0 >= 1632 && var0 <= 1641 || var0 >= 1776 && var0 <= 1785;
  51.             case 9:
  52.                if (var0 >= 2406 && var0 <= 2415 || var0 >= 2534 && var0 <= 2543) {
  53.                   return true;
  54.                }
  55.  
  56.                return false;
  57.             case 10:
  58.                if (var0 >= 2662 && var0 <= 2671 || var0 >= 2790 && var0 <= 2799) {
  59.                   return true;
  60.                }
  61.  
  62.                return false;
  63.             case 11:
  64.                if (var0 >= 2918 && var0 <= 2927 || var0 >= 3047 && var0 <= 3055) {
  65.                   return true;
  66.                }
  67.  
  68.                return false;
  69.             case 12:
  70.                if (var0 >= 3174 && var0 <= 3183 || var0 >= 3302 && var0 <= 3311) {
  71.                   return true;
  72.                }
  73.  
  74.                return false;
  75.             case 13:
  76.                if (var0 >= 3430 && var0 <= 3439) {
  77.                   return true;
  78.                }
  79.  
  80.                return false;
  81.             case 14:
  82.                if (var0 >= 3664 && var0 <= 3673 || var0 >= 3792 && var0 <= 3801) {
  83.                   return true;
  84.                }
  85.  
  86.                return false;
  87.             case 255:
  88.                if (var0 >= '∩╝É' && var0 <= '∩╝Ö') {
  89.                   return true;
  90.                }
  91.  
  92.                return false;
  93.             default:
  94.                return false;
  95.          }
  96.       }
  97.    }
  98.  
  99.    public static boolean isDefined(char var0) {
  100.       if (var0 < 502) {
  101.          return true;
  102.       } else if (var0 < 1792) {
  103.          return (isDefinedTable01C0through06FF[var0 - 448 >> 6] >> (var0 & 63) & 1L) != 0L;
  104.       } else if (var0 >= 2304 && var0 <= 3839) {
  105.          return (isDefinedTable0900through0EFF[var0 - 2304 >> 6] >> (var0 & 63) & 1L) != 0L;
  106.       } else if (var0 >= 4224 && var0 <= 4607) {
  107.          return (isDefinedTable1080through11FF[var0 - 4224 >> 6] >> (var0 & 63) & 1L) != 0L;
  108.       } else if (var0 >= 7680 && var0 <= 10175) {
  109.          return (isDefinedTable1E00through27BF[var0 - 7680 >> 6] >> (var0 & 63) & 1L) != 0L;
  110.       } else if (var0 >= 12288 && var0 <= 13311) {
  111.          return (isDefinedTable3000through33FF[var0 - 12288 >> 6] >> (var0 & 63) & 1L) != 0L;
  112.       } else if (var0 >= '∩¼Ç') {
  113.          return (isDefinedTableFB00throughFFFF[var0 - '∩¼Ç' >> 6] >> (var0 & 63) & 1L) != 0L;
  114.       } else {
  115.          return var0 >= 13312 && var0 <= 'Θ╛Ñ' || var0 >= '∩ñÇ' && var0 <= '∩¿¡';
  116.       }
  117.    }
  118.  
  119.    public static boolean isLetter(char var0) {
  120.       if (var0 < 1792) {
  121.          return (isLetterTable0000through06FF[var0 >> 6] >> (var0 & 63) & 1L) != 0L;
  122.       } else if (var0 >= 2304 && var0 <= 3839) {
  123.          return (isLetterTable0900through0EFF[var0 - 2304 >> 6] >> (var0 & 63) & 1L) != 0L;
  124.       } else if (var0 >= 4224 && var0 <= 4607) {
  125.          return (isLetterTable1080through11FF[var0 - 4224 >> 6] >> (var0 & 63) & 1L) != 0L;
  126.       } else if (var0 >= 7680 && var0 <= 8191) {
  127.          return (isLetterTable1E00through1FFF[var0 - 7680 >> 6] >> (var0 & 63) & 1L) != 0L;
  128.       } else if (var0 >= 12352 && var0 <= 13311) {
  129.          return (isLetterTable3000through33FF[var0 - 12288 >> 6] >> (var0 & 63) & 1L) != 0L;
  130.       } else if (var0 >= '∩¼Ç') {
  131.          return (isLetterTableFB00throughFFFF[var0 - '∩¼Ç' >> 6] >> (var0 & 63) & 1L) != 0L;
  132.       } else {
  133.          return var0 >= 13312 && var0 <= 'Θ╛Ñ' || var0 >= '∩ñÇ' && var0 <= '∩¿¡';
  134.       }
  135.    }
  136.  
  137.    public static boolean isLetterOrDigit(char var0) {
  138.       if (var0 < 1792) {
  139.          return (isLDTable0000through06FF[var0 >> 6] >> (var0 & 63) & 1L) != 0L;
  140.       } else if (var0 >= 2304 && var0 <= 3839) {
  141.          return (isLDTable0900through0EFF[var0 - 2304 >> 6] >> (var0 & 63) & 1L) != 0L;
  142.       } else if (var0 >= 4224 && var0 <= 4607) {
  143.          return (isLDTable1080through11FF[var0 - 4224 >> 6] >> (var0 & 63) & 1L) != 0L;
  144.       } else if (var0 >= 7680 && var0 <= 8191) {
  145.          return (isLDTable1E00through1FFF[var0 - 7680 >> 6] >> (var0 & 63) & 1L) != 0L;
  146.       } else if (var0 >= 12352 && var0 <= 13311) {
  147.          return (isLDTable3000through33FF[var0 - 12288 >> 6] >> (var0 & 63) & 1L) != 0L;
  148.       } else if (var0 >= '∩¼Ç') {
  149.          return (isLDTableFB00throughFFFF[var0 - '∩¼Ç' >> 6] >> (var0 & 63) & 1L) != 0L;
  150.       } else {
  151.          return var0 >= 13312 && var0 <= 'Θ╛Ñ' || var0 >= '∩ñÇ' && var0 <= '∩¿¡';
  152.       }
  153.    }
  154.  
  155.    public static boolean isJavaLetter(char var0) {
  156.       return isLetter(var0) || var0 == '$' || var0 == '_';
  157.    }
  158.  
  159.    public static boolean isJavaLetterOrDigit(char var0) {
  160.       return isLetterOrDigit(var0) || var0 == '$' || var0 == '_';
  161.    }
  162.  
  163.    public static char toLowerCase(char var0) {
  164.       if (var0 >= 65 && var0 <= 90) {
  165.          return (char)(var0 + 32);
  166.       } else if (var0 < 192) {
  167.          return (char)var0;
  168.       } else if (var0 < 256) {
  169.          if (var0 >= 223) {
  170.             return (char)var0;
  171.          } else {
  172.             return (char)(var0 == 215 ? var0 : (char)(var0 + 32));
  173.          }
  174.       } else {
  175.          if (((var0 < 1536 ? toLowerCaseTable[var0 - 256 >> 6] : ((var0 & '∩╕Ç') == 7680 ? toLowerCaseTable[var0 - 6400 >> 6] : (var0 >= 4256 && var0 <= 4293 ? -4294967233L : ((var0 & '\uffc0') == 8512 ? 281470681743360L : (var0 >= 9398 && var0 <= 9423 ? -18014398509416449L : ((var0 & '\uffc0') == 65280 ? 576460743713488896L : 0L)))))) >> (var0 & 63) & 1L) != 0L) {
  176.             switch (var0 >> 8) {
  177.                case 1:
  178.                   switch (var0 & 255) {
  179.                      case 120:
  180.                         return '├┐';
  181.                      case 129:
  182.                         return '╔ô';
  183.                      case 134:
  184.                         return '╔ö';
  185.                      case 138:
  186.                         return '╔ù';
  187.                      case 142:
  188.                         return '╔ÿ';
  189.                      case 143:
  190.                         return '╔Ö';
  191.                      case 144:
  192.                         return '╔¢';
  193.                      case 147:
  194.                         return '╔á';
  195.                      case 148:
  196.                         return '╔ú';
  197.                      case 150:
  198.                         return '╔⌐';
  199.                      case 151:
  200.                         return '╔¿';
  201.                      case 156:
  202.                         return '╔»';
  203.                      case 157:
  204.                         return '╔▓';
  205.                      case 169:
  206.                         return '╩â';
  207.                      case 174:
  208.                         return '╩ê';
  209.                      case 177:
  210.                         return '╩è';
  211.                      case 178:
  212.                         return '╩ï';
  213.                      case 183:
  214.                         return '╩Æ';
  215.                      case 196:
  216.                         return '╟å';
  217.                      case 199:
  218.                         return '╟ë';
  219.                      case 202:
  220.                         return '╟î';
  221.                      case 241:
  222.                         return '╟│';
  223.                      default:
  224.                         return (char)(var0 + 1);
  225.                   }
  226.                case 2:
  227.                   return (char)(var0 + 1);
  228.                case 3:
  229.                   switch (var0 & 255) {
  230.                      case 134:
  231.                         return '╬¼';
  232.                      case 135:
  233.                      case 139:
  234.                      case 141:
  235.                      default:
  236.                         if (var0 < 944) {
  237.                            return (char)(var0 + 32);
  238.                         }
  239.  
  240.                         return (char)(var0 + 1);
  241.                      case 136:
  242.                         return '╬¡';
  243.                      case 137:
  244.                         return '╬«';
  245.                      case 138:
  246.                         return '╬»';
  247.                      case 140:
  248.                         return '╧î';
  249.                      case 142:
  250.                         return '╧ì';
  251.                      case 143:
  252.                         return '╧Ä';
  253.                   }
  254.                case 4:
  255.                   if (var0 < 1040) {
  256.                      return (char)(var0 + 80);
  257.                   }
  258.  
  259.                   if (var0 < 1120) {
  260.                      return (char)(var0 + 32);
  261.                   }
  262.  
  263.                   return (char)(var0 + 1);
  264.                case 5:
  265.                case 16:
  266.                   return (char)(var0 + 48);
  267.                case 30:
  268.                   return (char)(var0 + 1);
  269.                case 31:
  270.                   switch (var0 & 255) {
  271.                      case 186:
  272.                         return 'ß╜░';
  273.                      case 187:
  274.                         return 'ß╜▒';
  275.                      case 188:
  276.                         return 'ß╛│';
  277.                      case 200:
  278.                         return 'ß╜▓';
  279.                      case 201:
  280.                         return 'ß╜│';
  281.                      case 202:
  282.                         return 'ß╜┤';
  283.                      case 203:
  284.                         return 'ß╜╡';
  285.                      case 204:
  286.                         return 'ß┐â';
  287.                      case 218:
  288.                         return 'ß╜╢';
  289.                      case 219:
  290.                         return 'ß╜╖';
  291.                      case 234:
  292.                         return 'ß╜║';
  293.                      case 235:
  294.                         return 'ß╜╗';
  295.                      case 236:
  296.                         return 'ß┐Ñ';
  297.                      case 248:
  298.                         return 'ß╜╕';
  299.                      case 249:
  300.                         return 'ß╜╣';
  301.                      case 250:
  302.                         return 'ß╜╝';
  303.                      case 251:
  304.                         return 'ß╜╜';
  305.                      case 252:
  306.                         return 'ß┐│';
  307.                      default:
  308.                         return (char)(var0 - 8);
  309.                   }
  310.                case 33:
  311.                   return (char)(var0 + 16);
  312.                case 36:
  313.                   return (char)(var0 + 26);
  314.                case 255:
  315.                   return (char)(var0 + 32);
  316.             }
  317.          }
  318.  
  319.          return (char)var0;
  320.       }
  321.    }
  322.  
  323.    public static char toUpperCase(char var0) {
  324.       if (var0 >= 97 && var0 <= 122) {
  325.          return (char)(var0 + -32);
  326.       } else if (var0 < 224) {
  327.          return (char)var0;
  328.       } else if (var0 < 256) {
  329.          if (var0 == 247) {
  330.             return (char)var0;
  331.          } else {
  332.             return var0 == 255 ? '┼╕' : (char)(var0 - 32);
  333.          }
  334.       } else {
  335.          if (((var0 < 1536 ? toUpperCaseTable[var0 - 256 >> 6] : ((var0 & '∩╕Ç') == 7680 ? toUpperCaseTable[var0 - 6400 >> 6] : ((var0 & '\uffc0') == 8512 ? -281474976710656L : ((var0 & '\uffc0') == 9408 ? 4398046445568L : ((var0 & '\uffc0') == 65344 ? 134217726L : 0L))))) >> (var0 & 63) & 1L) != 0L) {
  336.             switch (var0 >> 8) {
  337.                case 1:
  338.                   if (var0 == 383) {
  339.                      return 'S';
  340.                   }
  341.  
  342.                   if (var0 != 454 && var0 != 457 && var0 != 460 && var0 != 499) {
  343.                      return (char)(var0 - 1);
  344.                   }
  345.  
  346.                   return (char)(var0 - 2);
  347.                case 2:
  348.                   if (var0 < 576) {
  349.                      return (char)(var0 - 1);
  350.                   }
  351.  
  352.                   switch (var0 & 255) {
  353.                      case 83:
  354.                         return '╞ü';
  355.                      case 84:
  356.                         return '╞å';
  357.                      case 87:
  358.                         return '╞è';
  359.                      case 88:
  360.                         return '╞Ä';
  361.                      case 89:
  362.                         return '╞Å';
  363.                      case 91:
  364.                         return '╞É';
  365.                      case 96:
  366.                         return '╞ô';
  367.                      case 99:
  368.                         return '╞ö';
  369.                      case 104:
  370.                         return '╞ù';
  371.                      case 105:
  372.                         return '╞û';
  373.                      case 111:
  374.                         return '╞£';
  375.                      case 114:
  376.                         return '╞¥';
  377.                      case 131:
  378.                         return '╞⌐';
  379.                      case 136:
  380.                         return '╞«';
  381.                      case 138:
  382.                         return '╞▒';
  383.                      case 139:
  384.                         return '╞▓';
  385.                      case 146:
  386.                         return '╞╖';
  387.                      default:
  388.                         return (char)var0;
  389.                   }
  390.                case 3:
  391.                   switch (var0 & 255) {
  392.                      case 172:
  393.                         return '╬å';
  394.                      case 173:
  395.                         return '╬ê';
  396.                      case 174:
  397.                         return '╬ë';
  398.                      case 175:
  399.                         return '╬è';
  400.                      case 194:
  401.                         return '╬ú';
  402.                      case 204:
  403.                         return '╬î';
  404.                      case 205:
  405.                         return '╬Ä';
  406.                      case 206:
  407.                         return '╬Å';
  408.                      case 208:
  409.                         return '╬Æ';
  410.                      case 209:
  411.                         return '╬ÿ';
  412.                      case 213:
  413.                         return '╬ª';
  414.                      case 214:
  415.                         return '╬á';
  416.                      case 240:
  417.                         return '╬Ü';
  418.                      case 241:
  419.                         return '╬í';
  420.                      default:
  421.                         if (var0 < 992) {
  422.                            return (char)(var0 - 32);
  423.                         }
  424.  
  425.                         return (char)(var0 - 1);
  426.                   }
  427.                case 4:
  428.                   if (var0 < 1104) {
  429.                      return (char)(var0 - 32);
  430.                   }
  431.  
  432.                   if (var0 < 1120) {
  433.                      return (char)(var0 - 80);
  434.                   }
  435.  
  436.                   return (char)(var0 - 1);
  437.                case 5:
  438.                   return (char)(var0 - 48);
  439.                case 30:
  440.                   return (char)(var0 - 1);
  441.                case 31:
  442.                   switch (var0 & 255) {
  443.                      case 112:
  444.                         return 'ß╛║';
  445.                      case 113:
  446.                         return 'ß╛╗';
  447.                      case 114:
  448.                         return 'ß┐ê';
  449.                      case 115:
  450.                         return 'ß┐ë';
  451.                      case 116:
  452.                         return 'ß┐è';
  453.                      case 117:
  454.                         return 'ß┐ï';
  455.                      case 118:
  456.                         return 'ß┐Ü';
  457.                      case 119:
  458.                         return 'ß┐¢';
  459.                      case 120:
  460.                         return 'ß┐╕';
  461.                      case 121:
  462.                         return 'ß┐╣';
  463.                      case 122:
  464.                         return 'ß┐¬';
  465.                      case 123:
  466.                         return 'ß┐½';
  467.                      case 124:
  468.                         return 'ß┐║';
  469.                      case 125:
  470.                         return 'ß┐╗';
  471.                      case 179:
  472.                         return 'ß╛╝';
  473.                      case 195:
  474.                         return 'ß┐î';
  475.                      case 229:
  476.                         return 'ß┐¼';
  477.                      case 243:
  478.                         return 'ß┐╝';
  479.                      default:
  480.                         return (char)(var0 + 8);
  481.                   }
  482.                case 33:
  483.                   return (char)(var0 - 16);
  484.                case 36:
  485.                   return (char)(var0 - 26);
  486.                case 255:
  487.                   return (char)(var0 - 32);
  488.             }
  489.          }
  490.  
  491.          return (char)var0;
  492.       }
  493.    }
  494.  
  495.    public static char toTitleCase(char var0) {
  496.       if ((var0 & '\uffc0') != 448) {
  497.          return toUpperCase(var0);
  498.       } else if (var0 >= 452 && var0 <= 454) {
  499.          return '╟à';
  500.       } else if (var0 >= 455 && var0 <= 457) {
  501.          return '╟ê';
  502.       } else if (var0 >= 458 && var0 <= 460) {
  503.          return '╟ï';
  504.       } else {
  505.          return var0 >= 497 && var0 <= 499 ? '╟▓' : toUpperCase(var0);
  506.       }
  507.    }
  508.  
  509.    public static int digit(char var0, int var1) {
  510.       int var2 = -1;
  511.       if (var1 >= 2 && var1 <= 36) {
  512.          if (var0 >= '0' && var0 <= '9') {
  513.             var2 = var0 - 48;
  514.          } else if (var0 >= 'A' && var0 <= 'Z') {
  515.             var2 = var0 + -55;
  516.          } else if (var0 >= 'a' && var0 <= 'z') {
  517.             var2 = var0 + -87;
  518.          } else {
  519.             switch (var0 >> 8) {
  520.                case 6:
  521.                   if (var0 >= 1632 && var0 <= 1641) {
  522.                      var2 = var0 - 1632;
  523.                   } else if (var0 >= 1776 && var0 <= 1785) {
  524.                      var2 = var0 - 1776;
  525.                   }
  526.                   break;
  527.                case 9:
  528.                   if (var0 >= 2406 && var0 <= 2415) {
  529.                      var2 = var0 - 2406;
  530.                   } else if (var0 >= 2534 && var0 <= 2543) {
  531.                      var2 = var0 - 2534;
  532.                   }
  533.                   break;
  534.                case 10:
  535.                   if (var0 >= 2662 && var0 <= 2671) {
  536.                      var2 = var0 - 2662;
  537.                   } else if (var0 >= 2790 && var0 <= 2799) {
  538.                      var2 = var0 - 2790;
  539.                   }
  540.                   break;
  541.                case 11:
  542.                   if (var0 >= 2918 && var0 <= 2927) {
  543.                      var2 = var0 - 2918;
  544.                   } else if (var0 >= 3047 && var0 <= 3055) {
  545.                      var2 = var0 - 3046;
  546.                   }
  547.                   break;
  548.                case 12:
  549.                   if (var0 >= 3174 && var0 <= 3183) {
  550.                      var2 = var0 - 3174;
  551.                   } else if (var0 >= 3302 && var0 <= 3311) {
  552.                      var2 = var0 - 3302;
  553.                   }
  554.                   break;
  555.                case 13:
  556.                   if (var0 >= 3430 && var0 <= 3439) {
  557.                      var2 = var0 - 3430;
  558.                   }
  559.                   break;
  560.                case 14:
  561.                   if (var0 >= 3664 && var0 <= 3673) {
  562.                      var2 = var0 - 3664;
  563.                   } else if (var0 >= 3792 && var0 <= 3801) {
  564.                      var2 = var0 - 3792;
  565.                   }
  566.                   break;
  567.                case 255:
  568.                   if (var0 >= '∩╝É' && var0 <= '∩╝Ö') {
  569.                      var2 = var0 - '∩╝É';
  570.                   }
  571.             }
  572.          }
  573.       }
  574.  
  575.       return var2 < var1 ? var2 : -1;
  576.    }
  577.  
  578.    public static boolean isSpace(char var0) {
  579.       switch (var0) {
  580.          case '\t':
  581.          case '\n':
  582.          case '\f':
  583.          case '\r':
  584.          case ' ':
  585.             return true;
  586.          default:
  587.             return false;
  588.       }
  589.    }
  590.  
  591.    public static char forDigit(int var0, int var1) {
  592.       if (var0 < var1 && var0 >= 0) {
  593.          if (var1 >= 2 && var1 <= 36) {
  594.             return var0 < 10 ? (char)(48 + var0) : (char)(97 + var0 - 10);
  595.          } else {
  596.             return '\u0000';
  597.          }
  598.       } else {
  599.          return '\u0000';
  600.       }
  601.    }
  602.  
  603.    public Character(char var1) {
  604.       this.value = var1;
  605.    }
  606.  
  607.    public char charValue() {
  608.       return this.value;
  609.    }
  610.  
  611.    public int hashCode() {
  612.       return this.value;
  613.    }
  614.  
  615.    public boolean equals(Object var1) {
  616.       if (var1 != null && var1 instanceof Character) {
  617.          Character var2 = (Character)var1;
  618.          return this.value == var2.value;
  619.       } else {
  620.          return false;
  621.       }
  622.    }
  623.  
  624.    public String toString() {
  625.       char[] var1 = new char[]{this.value};
  626.       return new String(var1);
  627.    }
  628.  
  629.    static {
  630.       isLetterTable1080through11FF = isDefinedTable1080through11FF;
  631.       isLetterTable1E00through1FFF = isDefinedTable1E00through27BF;
  632.       isLetterTable3000through33FF = isDefinedTable3000through33FF;
  633.       isLetterTableFB00throughFFFF = new long[]{6881500229564629119L, -37L, 1125899906842623L, -524288L, -1L, -1L, -1L, -1L, -1L, -65536L, -196609L, 1152640029630136575L, 0L, -11540474045136896L, -1L, 2305843009213693951L, 576460743713488896L, -274743689218L, Long.MAX_VALUE, 486341884L};
  634.       isLDTable0000through06FF = new long[]{287948901175001088L, 576460743847706622L, 0L, -36028797027352577L, -1L, -1L, -1L, -270215977642229761L, 16777215L, -65536L, -279275953455105L, 4395899027455L, -1L, 4913427206346113087L, -17179879440L, 4503588160110591L, -8194L, -536936449L, -65409L, 234134404065073567L, -562949953421312L, -4320133121L, -288511851128421633L, 8734520370987023L, 576460745995194368L, -211110526976001L, 9007199254740991999L, 288019269919145983L};
  635.       isLDTable0900through0EFF = new long[]{-864691128455135250L, 562949938692095L, -3186861885341720594L, 576460544811219359L, -3211631683292264476L, 9006925953907079L, -869759877059465234L, 281204393851839L, -878767076314341394L, 562690925803919L, -4341532606274353172L, 2251250066275783L, -4327961440926441490L, 281212990012895L, -4327961440926441492L, 281214063754719L, -4323457841299070996L, 281212992110031L, 0L, 0L, -8646911284551352322L, 268435455L, 4323434403644581270L, 872365919L};
  636.       isLDTable1080through11FF = isDefinedTable1080through11FF;
  637.       isLDTable1E00through1FFF = isDefinedTable1E00through27BF;
  638.       isLDTable3000through33FF = isDefinedTable3000through33FF;
  639.       isLDTableFB00throughFFFF = new long[]{6881500229564629119L, -37L, 1125899906842623L, -524288L, -1L, -1L, -1L, -1L, -1L, -65536L, -196609L, 1152640029630136575L, 0L, -11540474045136896L, -1L, 2305843009213693951L, 576460743780532224L, -274743689218L, Long.MAX_VALUE, 486341884L};
  640.       toLowerCaseTable = new long[]{-6173215364225870507L, 3122495741643543722L, 1274187282820877526L, 6059124173486861744L, 5592405L, 0L, 0L, 0L, 0L, 0L, 17575006099264L, 93819265613824L, 281474976702462L, 6148914689804861440L, 6148914691236495361L, 78044801355024522L, -562949953421312L, 8388607L, 0L, 0L, 6148914691236517205L, 6148914691236517205L, 6148914689806259541L, 96076792050570581L, -71777217515815168L, 280378317225728L, 2234065794919104256L, 2233819500287893248L};
  641.       toUpperCaseTable = new long[]{6100313345257810602L, -3122495741643544235L, 2472794134709276968L, -6328495726735828128L, 11184810L, 1269983369232384L, 265480L, 0L, 0L, 0L, -299067162755072L, 1032063467880447L, -281474976710656L, -6148914690341797889L, -6148914691236560894L, 156089602710049044L, 0L, -8589934592L, 127L, 0L, -6148914691236517206L, -6148914691236517206L, -6148914694097032534L, 192153584101141162L, 71777214282006783L, 4611405638678478911L, 3097319977189631L, 2251950137737224L};
  642.    }
  643. }
  644.